package com.papers.juan.domain.bo;

import com.papers.common.core.validate.AddGroup;
import com.papers.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.papers.common.core.domain.BaseEntity;

/**
 * 文件业务对象 sys_file
 *
 * @author papers
 * @date 2022-11-08
 */

@Data
public class SysFileBo{

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String url;

    /**
     * 文件名称
     */
    @NotBlank(message = "文件名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fileName;

    /**
     * 文件大小 单位字节
     */
    @NotBlank(message = "文件大小 单位字节不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fileSize;

    /**
     * 是否公开
     */
    @NotBlank(message = "是否公开不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isPublic;

    /**
     * 后缀名
     */
    @NotBlank(message = "后缀名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fileSurfix;

    /**
     * 是否删除
     */
    @NotBlank(message = "是否删除不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isDel;

    /**
     * 文件类型 0 图片 1 文档 2视频 3 音频
     */
    @NotBlank(message = "文件类型 0 图片 1 文档 2视频 3 音频不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 所属业务
     */
    @NotBlank(message = "所属业务不能为空", groups = { AddGroup.class, EditGroup.class })
    private String classify;

    /**
     * 业务数据id
     */
    @NotNull(message = "业务数据id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long dataId;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long fileSort;

    /**
     * 创建人
     */
    @NotNull(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long createUser;

    /**
     * 更新人
     */
    @NotNull(message = "更新人不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long updateUser;


}
